#include <stdio.h> 
#include <stdio.h>
#include <stdio.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <unistd.h>
#include <errno.h>

#include "staff.h"

#if 0
#define QUIT "quit"
#define EXIT "exit"
#endif

int main(int argc, const char *argv[])
{

	//1、创建套接字
	int fd = -1;
	fd = socket(AF_INET,SOCK_STREAM,0);
	if(fd<0){
		perror("socket");
		exit(1);
	}
	puts("---创建套接字成功！---");

	//2、创建并填充要链接的服务器信息结构体
	struct sockaddr_in sin;
	bzero(&sin,sizeof(sin));
	sin.sin_family = AF_INET;
	sin.sin_port   = htons(atoi(argv[2]));
	if(inet_pton(AF_INET,argv[1],(void*)&sin.sin_addr.s_addr)!=1){
		perror("pton");
		exit(1);
	}
	puts("---创建填充服务器结构体成功！---");

	//3、主动链接到服务器
	if(connect(fd,(struct sockaddr*)&sin,sizeof(sin))<0){
		perror("connect");
		exit(1);
	}
	puts("---链接服务器成功！---");

	log_in(fd);	  //登录
	














#if 0
	//4、收发数据
	char buf[BUFSIZ];
	int ret = -1;
	while(1){
		bzero(buf,BUFSIZ);
		if(fgets(buf,BUFSIZ-1,stdin)==NULL){
			continue; 
		}
		do{
			ret = send(fd,buf,strlen(buf),0);
		}while( ret < 0 && EINTR == errno);

		if(ret<0){
			perror("send");
			break;
		}
		if(!ret){
			puts("对方关闭");
			break;
		}
		if(!strncasecmp(buf,QUIT,strlen(QUIT))){
			puts("客户端退出");
			break;
		}
		recv(fd,buf,BUFSIZ-1,0);
		printf("%s\n",buf);
	}

	//5、断开链接
	shutdown(fd,SHUT_RDWR);
	puts("---客户端关闭---");
#endif
	return 0;
}
